#!/bin/bash

test_saluer(){
    out=`saluer "Robert"`;
    assertEquals "code retour" "$?" "0"
    assertEquals "stdout" "Bonjour Robert, comment vas-tu ?" "${out}"
}

test_saluer_quandParametreManquant_messageDerreur(){
    out=`saluer 2>&1`
    assertNotEquals "code retour" "$?" "0"
    assertEquals \
    	"out" \
	"Argument manquant. Vous n'avez pas preciser qui saluer." \
	"${out}"
}

test_saluer_quandParametreManquant_erreurSurStderrEtSdoutVide(){
    saluer >${stdout} 2>${stderr}
    assertNotEquals "code retour" "$?" "0"
    assertNull "stdout" "`cat ${stdout}`"
    #assertNotNull 'expected error message to stderr' "`cat ${stderr}`"

    assertEquals "stderr" "Argument manquant. Vous n'avez pas preciser qui saluer." "`cat ${stderr}`"
}

test_pasDeFichierDeLog(){
    rm toto.log &>/dev/null
    assertFalse 'il ne doit pas y avoir de fichier de log' "[ -f 'toto.log' ]"
}

test_fichierLogExiste(){
    echo "bonjour" > toto.log
    assertTrue 'il doit y avoir un fichier de log' "[ -f 'toto.log' ]"
    rm toto.log
}

test_a_faire(){
    fail "todo"
}

setUp(){
   echo "s'execute avant chaque test" > /dev/null
}

tearDown(){
   echo "s'execute apres chaque test" >/dev/null
}

oneTimeSetUp()
{
  . ../main/demo.sh > /dev/null

  outputDir="${__shunit_tmpDir}/output"
  mkdir -p "${outputDir}"
  stdout="${outputDir}/stdout"
  stderr="${outputDir}/stderr"
}

oneTimeTearDown(){
  rm -rf ${outputDir}
}


. ../../lib/shunit2-2.1.5/src/shell/shunit2
#echo $SHUNIT_HOME
#ls $SHUNIT_HOME
#. "$SHUNIT_HOME/shUnit"
#shuStart
